Computing devices can communicate with each other over a network, using one of more networking protocols. The networking protocols standardize rules for communication between the two devices, promoting seamless communication. The Transmission Control Protocol (TCP) is one example of such a protocol. Additionally, protocols like TCP often provide mechanisms to optimize transmission rates. For example, TCP has a number of mechanisms to modulate transmission rates, so as to mitigate congestion in the network.
One such mechanism proceeds by optimizing a retransmission timeout (RTO) interval setting. When a sender transmits a segment (i.e., a packet of data) in a TCP session, the sender also starts a retransmission timer. If the sender does not receive an acknowledgement of the segment from the intended recipient before the retransmission timer expires (resulting in a RTO), then the sender will typically increase the value of the RTO interval and retransmit the segment. To increase the RTO interval, the sender multiplies (e.g., doubles) the prior RTO interval each time that a RTO occurs, thus resulting in an exponential increase in RTO interval. This congestion mitigation mechanism is well-suited for networks with relatively stable latency. However, in networks where latency can vary widely, congestion mechanisms like RTO interval setting tend to force the network to operate in a worst-case scenario, even when the reality is far from the worst-case at most times.
Wireless mobile networks are one example of such networks were latency is subject to wide variation. In wireless networks, the signal between a mobile device and a remote computing device can be disrupted by physical variables that are generally not applicable to wired networks. For example, such variables can include moving away from a transmission tower, proceeding through a tunnel, entering an elevator, etc. Since these factors tend to change the latency and thus the perceived congestion state of the network, for many wireless mobile networks, TCP's congestion avoidance mechanisms can converge on the worst-case state of the network, even if that worst-case state is only temporary. This can result in slow transmission rates from the mobile device for a period of time that exceeds the temporary loss or disruption of wireless service.
What is needed, then, are systems and methods for optimizing connections in a mobile device.